///////////////////////////////////////
document.write("<script language=javascript src='/static/js/jquery.toast.js'></script>");
document.write("<script language=javascript src='/static/layui/layui.js'></script>");
document.write("<link rel='stylesheet' href='/static/layui/css/layui.css' />");
document.write("<link rel='stylesheet' href='/static/css/jquery.toast.css' />");

// 判断手机号码格式是否正确
function checkMobile(_phoneNumberC) {
	if (!(/^1[3|4|5|8][0-9]\d{4,12}$/.test(_phoneNumberC))) {
		return false;
	}
	if(_phoneNumberC.trim().length!=11){
		return false;
	}
	return true;
}
// 判断密码格式 :只能输入6-20个字母、数字、下划线
function checkPwd(_s){
	var patrn=/^(\w){6,20}$/;   
	if (!patrn.exec(_s)){
		return false 
	}
	return true 
}
// 判断是否为纯数字
function isDigit(_s){ 
	var patrn=/^[0-9]{1,20}$/; 
	if (!patrn.exec(_s)) return false 
	return true 
}

// /////////////////////////////ajax的封装方法//////////////////////////////////
var _token_ ;
function _getToken(){
	_token_ = getCookie("_token_");
	console.log(_token_);
	if(!_token_||_token_==='null'){
		window.location.href="/account/login";
		return false;
	}
	return true;
}


/**
 * 封装ajax _ post 请求
 * 
 * @param url_
 *            请求url
 * @param data_
 *            请求参数
 * @param fun
 *            回调函数名(string),包含请求返回的完整数据
 */
function _common_ajax_post(url_,data_,fun_){
	$.ajax({
		url: url_, 
		type: 'post',
		async: true,  // true 异步 false 同步
		traditional:true,
		data:data_,
		dataType: 'json', 
		timeout: 300000, 
		error: function(d){dialogErr('请求失败');console.log(d.responseText);}, 
		success: function(result,s,xhr){
			if(result.resultCode==1000){
				if(fun_){
					eval(fun_ + "(result)");
				}
			}else{
				if(fun_){
					eval(fun_ + "(result)");
				}
			}
		}
	});
}
/**
 * 封装ajax _ post_UPDATE 请求
 * 
 * @param url_
 *            请求url
 * @param data_
 *            请求参数
 * @param fun
 *            回调函数名(string) 支持空参: 'xx()',这样会执行空参方法 <br>
 *            有参回调不需要括号,只传入方法名 : 'xx' ,回调方法定义 xx(obj);
 */
function _common_ajax_post_update(url_,data_,fun_){
	$.ajax({
		url: url_, 
		type: 'post',
		async: true,  // true 异步 false 同步
		traditional:true,
		data:data_,
		dataType: 'json', 
		timeout: 300000, 
		error: function(d){dialogErr('请求失败');console.log(d);}, 
		success: function(result,s,xhr){
			if(result.resultCode==1000){
				if(fun_&&fun_.indexOf('(')>=0){
					evel(fun_);
				}else if(fun_){
					eval(fun_ + "(result.returnObject)");
				}
				// 显示操作信息
				dialogSucc();
			}else{
				dialogErr();
			}
		}
	});
}
var _comf_url;
var _comf_data;
var _comf_fun;
/**
 * 封装ajax _ post_delete 请求
 * 
 * @param url_
 *            请求url
 * @param data_
 *            请求参数
 * @param fun
 *            回调函数名(string) 支持空参: 'xx()',这样会执行空参方法 <br>
 *            有参回调不需要括号,只传入方法名 : 'xx' ,回调方法定义 xx(obj);
 */
function _common_ajax_post_delete(url_,data_,fun_){
	_comf_url = url_;
	_comf_data = data_;
	_comf_fun = fun_;
	// 确定要删除吗?
	toastConf_comfirm('确定要删除吗?');
}
// 提示框确定按钮
function _deleteComfirmOk(){
// console.log('确定' + _comf_url + _comf_data + _comf_fun);
	_common_ajax_post_update(_comf_url,_comf_data,_comf_fun);
	_comf_url = '';
	_comf_data = '';
	_comf_fun = '';
	$('.close-jq-toast-single').click();
	hideMask();
}
// 提示框取消按钮
function _deleteComfirmCel(){
// console.log('取消' + _comf_url + _comf_data + _comf_fun);
	_comf_url = '';
	_comf_data = '';
	_comf_fun = '';
	$('.close-jq-toast-single').click();
	hideMask();
}

/**
 * 封装ajax _ get 请求
 * 
 * @param url_
 *            请求url
 * @param data_
 *            请求参数
 * @param fun
 *            回调函数名(string),包含请求返回的完整数据
 */
function _common_ajax_get(url_,data_,fun_){
	$.ajax({
		url: url_, 
		type: 'get',
		async: true, // true 异步 false 同步
		traditional:true,
		data:data_,
		dataType: 'json', 
		timeout: 300000, 
		error: function(d){console.log(d);}, 
		success: function(result,s,xhr){
			if(result.resultCode==1000){
				if(fun_){
					eval(fun_ + "(result.returnObject)");
				}
			}
		}
	});
}

// ////////////////////////////////////////////发送消息相关//////////////////////////////////////////////
//未登录发送
function _sendMsgCodeVst(_phoneNumber,_type,_tims){
	$.ajax({
		url: '/au/getPhoneCode', 
		type: 'post',
		async: true, // true 异步 false 同步
		traditional:true,
		data:{phoneNumber:_phoneNumber,type:_type,timestamp:_tims},
		dataType: 'json', 
		timeout: 300000, 
		error: function(d){console.log(d);}, 
		success: function(res,s,xhr){
			if(res.resultCode==1000){
				dialogSucc('短信发送成功');
			}else if(res.resultCode==1008){
				dialogErr("发送短信太频繁,请稍后再试");
			}else{
				dialogErr('发送短信失败');
			}
		}
	});
}
function _sendMsgCode(_phoneNumber,_type){
	if(!_getToken()){return;}
	$.ajax({
		url: '/au/getPhoneCodeReg', 
		type: 'post',
		async: true, // true 异步 false 同步
		traditional:true,
		data:{phoneNumber:_phoneNumber,type:_type},
		dataType: 'json', 
		timeout: 300000, 
		beforeSend: function (XMLHttpRequest) {  
	           XMLHttpRequest.setRequestHeader("accessToken", _token_);  
	        },  
		error: function(d){console.log(d);}, 
		success: function(res,s,xhr){
			console.log(res);
			var _token_new  = xhr.getResponseHeader('accessToken');
			if(_token_new){
				setCookie("_token_",_token_new);
			}
			if(res.resultCode==1000){
				dialogSucc('短信发送成功');
			}else{
				dialogErr('发送短信失败');
			}
		}
	});
}


// /测试
function test(fun_){
	eval(fun_+"(123456)");
	console.log(fun_);
}



// //////////////////////////////////关于cookies/////////////////////////////////////////
// 写cookies
function setCookie(_cookieName,_cookieValue) { 
    var _days = 7; 
    var _exp = new Date(); 
    _exp.setTime(exp.getTime() + _days*24*60*60*1000); 
    document.cookie = _cookieName + "="+ escape (_cookieValue) + ";expires=" + _exp.toGMTString()+";path=/";  
} 
function setCookie(_cookieName,_cookieValue,_days) { 
	var _exp = new Date(); 
	_exp.setTime(_exp.getTime() + _days*24*60*60*1000); 
	document.cookie = _cookieName + "="+ escape (_cookieValue) + ";expires=" + _exp.toGMTString()+";path=/";  
} 
// 读取cookies
function getCookie(_cookieName) { 
    var _arr,_reg=new RegExp("(^| )"+_cookieName+"=([^;]*)(;|$)");
    if(_arr=document.cookie.match(_reg)){
        return unescape(_arr[2]); 
    }else{
        return null;
    }
} 
// 删除cookies
function delCookie(_cookieName) { 
    var _cval=getCookie(_cookieName); 
    if(_cval!=null){
        document.cookie= _cookieName + "="+_cval+";expires="+(new Date(0)).toGMTString()+";path=/";   
    }
}
// 获取地址栏中的参数
function getUrlParams(_name) {   
   var url = location.search; // 获取url中"?"符后的字串
   var theRequest = new Object();   
   if (url.indexOf("?") != -1) {   
      var str = url.substr(1);   
      strs = str.split("&");   
      for(var i = 0; i < strs.length; i ++) {   
         theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);   
      }   
   }   
   return theRequest[_name];   
}  
// 为空不显示
function ifnull(_param){
	if(!_param){
		return '';
	}else if(_param==='null'){
		return '';
	}else if(_param==='undefined'){
		return '';
	}
	return _param;
}
// 多行文本输入框剩余字数计算
function checkMaxInput(obj, maxLen) {
    if (obj == null || obj == undefined || obj == "") {
        return;
    }
    if (maxLen == null || maxLen == undefined || maxLen == "") {
        maxLen = 100;
    }
    var strResult;
    var $obj = $(obj);
    var newid = $obj.attr("id") + 'msg';
    strResult = '<span id="' + newid + '" class=\'Max_msg\' style="color:red;position: relative; top: 68px; margin-left: 10px;">';
    var text = "";
    if (obj.value.length > maxLen) {	// 如果输入的字数超过了限制
        obj.value = obj.value.substring(0, maxLen); // 就去掉多余的字
        text +=  obj.value.length+ '/'+maxLen; // 计算并显示剩余字数
    }
    else {
    	text+= obj.value.length+ '/'+maxLen; //计算并显示剩余字数
    }
    strResult += text +'</span>';
    var $msg = $("#" + newid);
    if ($msg.length == 0) {
        $obj.after(strResult);
    }
    else {
        $msg.text(text);
    }
}

// //////////////////////////关于遮罩层/////////////////////////////////////////////
// 兼容火狐、IE8
// 显示遮罩层
function showMask(){     
    $("#mask").css("height",$(document).height());     
    $("#mask").css("width",$(document).width());     
    $("#mask").show();     
}  
// 隐藏遮罩层
function hideMask(){   
    $("#mask").hide();     
}  
// 操作成功的提示
function dialogSucc(_xtt){
	if(!_xtt){
		_xtt = "操作成功";
	}
	toastConf(_xtt,'success');
}
// 操作失败的提示
function dialogErr(_xtt){
	if(!_xtt){
		_xtt = "操作失败";
	}
	toastConf(_xtt,'error');
}
// 配置提示框
function toastConf(_text,_icon){
	$.toast({
	    heading: '温馨提示',
	    text: _text,
	    position: 'top-center',
	    stack: 2,
	    icon: _icon,
        showHideTransition: 'slide',
        allowToastClose: true,
        hideAfter: 2500,
        loader: true,
        loaderBg: '#9EC600',
        bgColor: true,
        textColor: true,
        textAlign: 'left'
	})
}
function toastConf_comfirm(_text){
	showMask();
	var texthtml = '<span style="display:block; font-size:18px ;  margin: 20px 0;">'+_text+'</span>' +
	'<div><button class="layui-btn layui-btn-primary" style="width:90px;" onclick="_deleteComfirmOk()">确定</button>'+
	'<button class="layui-btn layui-btn-danger"style="width:90px;margin-left: 35px;    background-color: #999;" onclick="_deleteComfirmCel()">取消</button></div>';
	$.toast({
		heading: '温馨提示',
		text: texthtml,
		position: 'mid-center',
		stack: 2,
		icon: 'info',
		showHideTransition: 'plain',
		allowToastClose: true,
		hideAfter: false,
		loader: true,
		loaderBg: '#9EC600',
		bgColor: true,
		textColor: true,
		textAlign: 'left'
	})
}
// ////////////////////////////////关于layui的封装i
// ////////////////////////////////////////
/**
 * layui-table的请求封装
 * 
 * @param _elem
 *            table的id属性
 * @param _url
 *            请求路径
 * @param _data
 *            请求参数
 * @param _cols
 *            回显列表
 * @param _fun
 *            回调函数名(string),包含请求返回的完整数据
 */
function _layui_table_post(_elem,_url,_cols,_data,_fun){
	layui.use('table', function(){
		  var table = layui.table;
		  table.render({
		    elem: _elem
		    ,url: _url
		    // ,height: 'full-500'
		    ,cellMinWidth: 80
		    ,method : 'post' // 请求方式
		    ,limit: 10 // 初始每页显示多少个
		    ,headers: {'accessToken':getCookie('_token_') } // 设置放在header中的值
		  	,request: {
			 	 pageName: 'pageNum' // 页码的参数名称，默认：page
				,limitName: 'pageSize' // 每页数据量的参数名，默认：limit
			}   
		    ,cols: [_cols]
		    ,responseHandler: function(data){
		    	// 此方法是自定义的一个方法,修改layui的源代码,自定义的一个功能
		        return {
		            "count": data.returnObject.total, // 数据总数
		            "data": data.returnObject.list, // 数据列表
		            "code": 0, 
		            "pageCount":data.returnObject.pages // 总共多少页
		        };
		    }
		    // ,page: true
		    ,page: { // 支持传入 laypage 组件的所有参数（某些参数除外，如：jump/elem） - 详见文档
		      layout: ['limit', 'count', 'prev', 'page', 'next', 'skip','refresh'] // 自定义分页布局
		      // ,curr: 5 //设定初始在第 5 页
		      ,groups: 10 // 只显示 1 个连续页码
		      ,first: '首页' // 不显示首页
		      ,last: '尾页' // 不显示尾页
		      // layui-laypage-count
		    }
		    ,done:function(res){
		    	// 加载完之后会执行这个方法,可以做一些后续操作
		    	// $("#lower_count_new").text(res.count);
		    	if(_fun){
		    		eval(_fun+'(res)');
		    	}
		    }
		    ,where: _data
		  });
		});
}
function _layui_open_table_Simple(_arrkey ){
	var ht = '<div class="mytableshowinfo" align="center" style="width:500px;" >'
		+'<table class="layui-table" lay-skin="line">'
		+ '<colgroup><col width="200" align="right" > <col> </colgroup><tbody>';
	for(var i in _arrkey){
		ht+= '<tr><td>'+i+'</td><td>'+ifnull(_arrkey[i])+'</td></tr>';
	}
	ht+= '  </tbody></table><button class="layui-btn layui-btn-normal" onclick="$(\'.layui-layer-close\').click()">关闭</button> </div>';
	layer.open({
		type:1,
		area: '500px',
		content:ht
	})
}
// ////////////////////////////////关于layui的封装i
// ////////////////////////////////////////
//跳转页面
function gotopage(pat) {
	console.log(pat);
	var _token_ = getCookie("_token_");
	if (!_token_) {
		// TODO 跳转的时候可以把当前连接地址带过去, 然后登陆之后跳转回来
		window.location.href = '/account/login.html';
		return;
	}
	$.ajax({
		url : '/auf/control',
		type : 'GET',
		data : {
			p : pat
		},
		async:true,
		dataType : 'html',
		beforeSend : function(XMLHttpRequest) {
			XMLHttpRequest.setRequestHeader("accessToken", _token_);
		},
		error : function(d) {
			console.log(d);
		},
		success : function(d) {
			if(d&&d.indexOf('id="login_to"')>0){
				window.location.href = '/account/login.html';
				return;
			}
			$('.cont-main').html(d);
		}
	});
	document.location.hash = '#' + pat;
}
